Restoring a database after a system failure or a data loss requires a plan to restore the database to the pre-failure state. For large databases or databases with high volumes of transactions, building the restore plan is a complex and tedious task. It typically requires identification of the backups of the database and determination of the correct order of application of the backups to bring the database to the specific point in time prior to the failure.
Depending on the specific conditions associated with the system failure, system resources available and backup media available, there may be several possible restore plans. Some plans may be less efficient than others. Some plans may be impossible to implement because of the unavailability of backup media or system resources. Frequently there is a sense of urgency associated with restoring the system to operation, so a restore plan must be developed quickly.
It would be helpful if there were a way to generate an optimized restore plan quickly and easily to aid in disaster recovery.
In addition to dealing with system crashes, it may be desirable to verify that a restore plan is available, should a crash occur. For example, a business may want to verify that, should a database crash, it could be recovered, and recovered in the shortest period of time possible.
It would be helpful if there were a way to generate an optimized restore plan quickly and easily so that the availability of backup media and the presence of an optimized restore plan could be verified.
It may be desirable to verify a duplicate database against a production database. For example, suppose someone has deleted data but the time at which the data was deleted is unknown. It may be helpful to be able to create and apply a restore plan to an intermediate point in time so that the two databases can be compared to determine when the data was deleted. It may be helpful to be able to create a copy of a database at a particular point in time, perhaps to determine the time at which a data loss occurred, or for other reasons such as, for example, for the purpose of an audit. An optimized restore plan would be helpful to create the duplicate database in the most efficient manner to a specified point in time.